<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2016 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2016/01-January/25.xhtml" />
		<title>Walking in tomorrow to try again to get health care &lt;https://y.st./en/weblog/2016/01-January/25.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png" />
		<link rel="stylesheet" type="text/css" href="/link/basic.css" />
		<link rel="stylesheet" type="text/css" href="/link/site-specific.css" />
		<script type="text/javascript" src="/script/javascript.js" />
		<meta name="viewport" content="width=device-width" />
	</head>
	<body>
		<nav>
			<p>
				<a href="/en/">Home</a> |
				<a href="/en/a/about.xhtml">About</a> |
				<a href="/en/a/contact.xhtml">Contact</a> |
				<a href="/a/canary.txt">Canary</a> |
				<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
				<a href="/en/opinion/">Opinions</a> |
				<a href="/en/coursework/">Coursework</a> |
				<a href="/en/law/">Law</a> |
				<a href="/en/a/links.xhtml">Links</a> |
				<a href="/en/weblog/2016/01-January/25.xhtml.asc">{this page}.asc</a>
			</p>
			<hr/>
			<p>
				Weblog index:
				<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
				<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
				<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
			</p>
			<hr/>
			<p>
				Jump to entry:
				<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
				<a rel="prev" href="/en/weblog/2016/01-January/24.xhtml">&lt;Previous</a>
				<a rel="next" href="/en/weblog/2016/01-January/26.xhtml">Next&gt;</a>
				<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
		</nav>
		<header>
			<h1>Walking in tomorrow to try again to get health care</h1>
			<p>Day 00324: Monday, 2016 January 25</p>
		</header>
<p>
	This morning, I looked into government-sponsored health care again, as they still have not gotten back to me.
	I sent in my application last month, and now this month is almost over.
	It seems that there are places that I can go to get help in person.
	I was planning to walk in today, but I took too long getting ready.
	The place that can help is several hours away from home and I foolishly wanted to set up my music library on my mobile before leaving.
	I will have to go in tomorrow instead.
</p>
<p>
	After deciding on a new file organization scheme for my music library, I knew that I would either have to find a way to use Ex Falso&apos;s conditional syntax more effectively or I would need to do a lot of the sorting by hand.
	I found a page in the <a href="https://quodlibet.readthedocs.org/en/latest/guide/renaming_files.html">Quod Libet</a> manual explaining that Ex Falso&apos;s conditionals do not only have an <code>if</code> syntax, but also an optional <code>else</code> syntax, which is exactly what I needed.
	My new file-renaming string is <code>~/Muziko/\\NEW\\/&lt;albumartist|&lt;albumartist&gt;|\\&gt;/&lt;albumartist&gt;\\&lt;album&gt;/&lt;title|&lt;albumartist&gt;\\&lt;album&gt;\\&lt;title&gt;|&lt;title&gt;&gt;</code>.
</p>
<p>
	Instead of going downtown, I spent most of the day working with regular expressions.
	After further reading of <a href="https://tools.ietf.org/html/rfc3986"><abbr title="Request for Comments">RFC</abbr> 3986</a>, I decided that I do in fact want to build my <abbr title="Uniform Resource Identifier">URI</abbr> parser to be strict.
	Names are very important to me, especially globally-unique names, and in many ways, that is what <abbr title="Uniform Resource Identifier">URI</abbr>s are.
	I do not want to support invalid names.
	Once I had that decided, I thought that I could modify the regular expression listed in <abbr title="Request for Comments">RFC</abbr> 3986, both combining it with another regular expression that I built today and giving it new features that would enforce validity and break the &quot;authority&quot; component down into its &quot;userdata&quot;, &quot;host&quot;, and &quot;port&quot; components.
	However, once I got to the part about enforcing path validity, I saw that my approach would not only produce an ugly and unreadable regular expression, it would also be highly difficult.
	My regular expression would need to branch in a confusing way near the beginning, due to the fact that the characters that are allowed to make up the beginning of a path heavily depend on the presence, or lack of presence, of the authority and scheme components.
	There are five different regular expressions that can determine the validity of a path based on this presence or lack of presence, and they would need to somehow bee hooked into the parts of the main expression that matches the scheme and authority.
	Such a simple view does not work.
	I will need a multi-step approach after all, so most of the code I wrote today is no good.
	My new understanding of the situation should help me write something very usable though.
</p>
<p>
	My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
</p>
		<hr/>
		<p>
			Copyright © 2016 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F01-January%2F25.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.1</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F01-January%2F25.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

